home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
internet
/
irc_i_dodatki
/
eggdrop
/
eggdrop11.lha
/
scripts
/
console.tcl
< prev
next >
Wrap
Text File
|
1997-01-15
|
3KB
|
108 lines
#
# save a user's console when she leaves, restore it when she returns
# (modified to work with eggdrop 1.0)
#
# ok, so there are basically two ways you can do this:
# 1) console mode is automatically saved when you leave
# advantages: automatic -- any console mode changes you do will stick
# disadvantages: if you're on the bot twice, whichever session exits
# last will be the one to get saved
# 2) console mode is saved by typing '.store'
# advantages: can set console the way you like it, store it that way,
# and then make temporary changes later as you like
# disadvantages: won't save changes if you forget to use '.store'
#
#
# 07-12-96 cmwagner Added in force-channel variable, to force the newbies
# into a set channel, not to expose their lameness, or
# just not to expose the party line to your users, also
# added in saving and restoring of saved channel.
# 12-28-96 cmwagner Added in info-party variable, to allow the info lines
# to be broadcasted across the party line channel the
# user joins.
# set which mode you want here:
# (0 = use '.store') (1 = automatic save when you leave)
set console-autosave 0
# set which channel you want to force users in if they don't have one
# stored:
set force-channel 0
# set this if you want to advertise info lines when users join then
# party line. (1 = yes)
set info-party 1
##########################################################################
if {![info exists toolkit_loaded]} {
catch {source scripts/toolkit.tcl}
if {![info exists toolkit_loaded]} {
catch {source toolkit.tcl}
if {![info exists toolkit_loaded]} {
error "Can't load Tcl toolkit!"
}
}
}
if {${console-autosave}} {
bind chof - * save_console
} {
bind dcc - store save_console_dcc
}
bind chon - * restore_console
proc restore_console {handle idx} {
global force-channel info-party
set cons [user-get $handle console]
set conchan [user-get $handle conchan]
if {![matchattr $handle m]} {
foreach x {c x r o} {
regsub -all $x $cons "" cons
}
}
if {$cons != ""} {
if {$conchan != ""} {
console $idx $conchan $cons
} {
console $idx $cons
}
}
set echo [user-get $handle echo]
if {$echo != ""} { echo $idx $echo }
set chan [user-get $handle chan]
if {$chan == ""} {
set chan ${force-channel}
}
setchan $idx $chan
set info [getinfo $handle]
if {${info-party} && $info != ""} {
dccputchan $chan $info
}
}
proc save_console {handle idx} {
set cons [console $idx]
user-set $handle conchan [lindex $cons 0]
user-set $handle console [lindex $cons 1]
user-set $handle echo [echo $idx]
user-set $handle chan [getchan $idx]
}
proc save_console_dcc {handle idx param} {
set cons [console $idx]
set chan [getchan $idx]
user-set $handle conchan [lindex $cons 0]
user-set $handle console [lindex $cons 1]
user-set $handle echo [echo $idx]
user-set $handle chan $chan
set newcons "[lindex $cons 0]: [lindex $cons 1]"
if {[echo $idx]} {
putdcc $idx "Saved your console mode as $newcons (echo on) (chan $chan)"
} {
putdcc $idx "Saved your console mode as $newcons (echo off) (chan $chan)"
}
return 1
}